Enterprise Watch
バックナンバー

Windows 7ベースの次期サーバーOS「Windows Server 2008 R2」を見る


 10月に米国で開催された米Microsoftの開発者向けセミナー「Professional Developer Conference 2008(PDC 2008)」では、Windows Server 2008 R2のプレベータ版が配布された。今回は、PDCでのセッション、Windows Server 2008 R2のレビュワーズガイドなどから、Windows Server 2008 R2の機能を紹介する。


マイナーアップデートとなるWindows Server 2008 R2

WS08R2で追加された機能(プレベータドキュメントより)
 Windows Server 2008 R2(以下、WS08R2)は、次期クライアントOS「Windows 7」と同じカーネルを使用したサーバーOSだ。Windows 7は、Windows Vista SP1/Windows Server 2008をベースとしてマイナーチェンジしたものになっている。このため、WS08R2も、Windows Server 2008のマイナーチェンジ版といえるだろう。

 実際、デバイスドライバ、OSのアーキテクチャは、Windows Server 2008とまったく変わらないため、Windows Server 2008で動作していたデバイスやアプリケーションは、そのまま動作することになる。

 ただ、Windows 7の開発において、メモリ管理などのチューニング、サポートするCPU数を大幅にアップするなどの改良が行われている。つまり、WS08R2は、よりパフォーマンスがアップしたOSとなるだろう。

 また、Windows 7では、P2Pを利用した新しいキャッシュシステムなど、新しい機能が搭載されているため、これをサーバーOS側でもサポートしている。つまり、Windows 7とWS08R2という組み合わせが、ベストマッチになるように開発が進められているというわけだ。


WS08R2のプレベータ版のインストール画面。Windows Server 7と表示されている
 実際、WS08R2のプレベータ版をインストールするとWindows Server 7と表示されている。当初は、クライアントOSのWindows 7に合わせて、サーバーOSもWindows Server 7といった名称だったのが、土壇場でWS08R2に変わったのだろう。エンタープライズでの導入ということを考えれば、Windows Server 2008 R2という名称は、平凡だが、最も製品の本質を表していると思う。個人的には、Windows Server 7になるよりも、WS08R2の方が受け入れられやすいと思う。

 WS08R2とWindows Server 2008の大きな差は、WS08R2が64ビット版(x64とItanium)のみのリリースという点だ。つまり、x86用の32ビット版はリリースされない。x64は、x86をベースとしているため、32ビット版を開発する手間が2倍かかるわけではない。しかし、サーバーにおいては、ほとんどのCPUが64ビットをサポートしており、今後普及していく仮想化などを考えていけば、メモリ空間が大きくとれる64ビット版へ移行していくのは、シナリオ通りといえる。

 実際、Windows Server 2008をリリースするときに、次のバージョンでは32ビット版はリリースしないと明言していた。


最新のCPU環境に対応、エコも重視

WS08R2では、CPUのマルチコアのトレンドを取り入れて、サポートする論理プロセッサの数をアップした(PDC 2008のプレゼンテーションより)

WS08R2では、CPUをコアごとに、パワーマネージメントを行う。これにより、エコに対応したサーバーOSとなっている(プレベータドキュメントより)
 WS08R2では、CPUのマルチコア化に対応して、論理プロセッサ(Logical Processor)として256個までサポートされている。さらに、64ビットOSということで、メモリも最大2TB(Enterprise版とDatacenter版、Standard版は32GB)までサポートしている。

 OSのカーネルに関しては、Windows 7と同じようにチューニングされ、省メモリで、高いパフォーマンスで動作するようになっている。

 WS08R2では、CPUのパワーマネージメントを本格的に採用している。CPUがマルチコア化されていくにつれて、コア単位でのパワーマネージメントがエコを目指すサーバーにとっては必要になってきている。

 WS08R2では、CPUのACPIが持っているPステートを利用することで、CPUの負荷に応じて、CPUコアそれぞれのクロック数を落とすことで、パワーをセーブしようというものだ。このPステートの設定は、Active Directoryのグループポリシーで設定できる。

 また、各サーバーにおいて大きな発熱やパワーを消費する原因となるローカルHDD(OSなどをブートするHDD)が必要でなくなるように、OS自体をSANストレージからブートできるように改良している。つまり、ブレードサーバーや1UサーバーなどにHDDを搭載せず、iSCSIなどのSANストレージに用意されたブート用領域からOSをブートし、利用することができる。これにより、各サーバー側にHDDを搭載しないため、SANストレージで効率よくHDDを利用できる。


大幅な改良が行われるHyper-V 2.0

 Microsoftにとって初めてのハイパーバイザ型の仮想化ソフトHyper-Vも、WS08R2ではHyper-V 2.0となり大幅に改良される。当初、Windows Server 2008のHyper-Vに搭載が予定されていたLive MigrationがHyper-V 2.0に搭載される。

 Live Migrationは、リアルタイムに仮想マシン(VM)を別のサーバーに移動することができる。現在、Hyper-Vで搭載されているQuick Migrationでは、Windows Server 2008のクラスタ機能を利用して、本番のサーバーが落ちたときに、バックアップのサーバーに移動することはできる。しかし、この方法では、仮想マシンで運用しているサーバーがいったん動作を中止してしまう。このため、クライアントからアクセスしているときは、接続が一時中断し、数分後に再度クライアントからアクセスすることで接続が復旧する。

 Live Migrationは、サーバー単位ではなく、仮想マシン単位で移動できるようになる。また、高速に仮想マシンの移動が行えるため、クライアントからアクセスしているユーザーはほとんど仮想マシンが移動したことを感じないほどだ。

 9月に米国で行われた仮想化に関するセミナーでは、Live Migrationのデモが行われていた。クライアントPCから仮想マシン上のビデオファイルにアクセスして、強制的に仮想マシンを別のサーバーに移動するというものだった。デモでは、仮想マシンを移動しても、ビデオ再生は途切れずに、普通に再生を続けていた。Windows Media Playerが、ビデオをキャッシュしているということもあるが、Live Migrationが高速に仮想マシンを移動できるという証拠だろう。


WS08R2では、待望のLive Migrationが搭載された(プレベータドキュメントより)

NODE1にアクセスしている時にトラブルが起こったら、自動的にNODE2に移行する(プレベータドキュメントより)

NODEの移行は、瞬間的に終了する。このため、ユーザーはサーバーが切り替わったことにも気がつかない(プレベータドキュメントより)


WS08R2では、VHDをネイティブのディスクフォーマットとして扱うことができる。これにより、VHDファイルから物理マシンのOSをブートすることもできる(PDC 2008のプレゼンテーションより)

Hyper-V 2.0では、仮想ドライブを仮想マシンが動作中に、追加したり、削除したりすることができる(PDC 2008のプレゼンテーションより)
 また、仮想マシンが動作している最中に、仮想化ディスクのVHDファイルを追加したり、削除したりできるようになった。

 面白いのは、VHDファイルを直接、物理マシンのブートディスクとして割り当てることができる。これにより、P2VやV2Pといった作業なしに、直接VHDを物理と仮想の間を行き来することが可能になった(VHDブートの機能はWindows 7にも搭載されている)。

 さらに、Hyper-V 2.0では、IntelやAMDのCPUに搭載されているメモリ関連の仮想化支援機能をサポートしている。IntelのExtended Page Tables(EPT)とAMDのTagged TLBと呼ばれる機能は、仮想化の時に頻繁に起こる仮想マシンのメモリ空間と物理マシンのメモリ空間のマッピングをハードウェアで行う。この機能をHyper-V 2.0でサポートすることで、仮想マシンのパフォーマンスがアップする。

 これ以外にも、CPUがサポートしている仮想化支援機能はいくつかあるが、Microsoftでは積極的にサポートしていくようだ。すべての仮想化支援機能をHyper-V 2.0でサポートできるかは未定だが、できるだけ最新のテクノロジーを採用しようとしている。

 同じように、Hyper-V 2.0でのサポートは未定だが、Microsoftがハイパーバイザに搭載しようとしている機能としては、仮想メモリを動作中の仮想マシンにダイナミックに追加、削除ができる機能、動作している仮想マシン間でダイナミックにメモリを割り当てるDynamic Memoryなどがある。


Windows 7との連携

 WS08R2は、Windows 7と非常に密接な連携が行えるようになっている。例えば、Windows 7で搭載されるDirectAccess機能は、複雑なVPN接続を簡単に行えるようになるものだ。もちろんWS08R2側ではDirectAccessに対応した機能が用意されている。WS08R2とWindows 7の組み合わせで、VPN接続が簡単に行える。


Windows 7とWS08R2によって実現するDirectAccess機能。これを利用すれば、VPNアクセスが簡単になる(プレベータドキュメントより)

DirectAccess機能を利用すれば、IPv6のIPsecを使って、社内のIPv4ネットワークへのアクセスも行える(プレベータドキュメントより)


 Windows 7で搭載されたBranchCacheという機能は、ネットワークが細い支店のクライアントPCが、本社のサーバー上のドキュメントにアクセスすると、支店のクライアントPCにキャッシュが置かれるというもの。もし一度でも支店の誰かがアクセスしたことがあるドキュメントなら、支店のクライアントPCにキャッシュされているデータから、瞬時にリードすることができる。

 BranchCacheでは、支店のクライアントPC同士でP2Pネットワークを構築して、この中でデータのキャッシュを行う。また、支店のクライアントPCの数が多い場合は、BranchCache Serverを置けば、多数のユーザーにも対応できる。


BranchCache機能の概要図(PDC 2008のプレゼンテーションより)

BranchCache機能では、支社のPCからアクセスされたデータは、支社のサーバーやPCにキャッシュされる。支社のほかのユーザーが同じデータにアクセスする場合は、ローカルのキャッシュを利用する。これにより、2回目のアクセスからは、高速にデータにアクセスできる。この図は、支店のキャッシュサーバーが置かれている場合(プレベータドキュメントより)

BranchCache機能では、支店のPCをP2Pネットワークで接続して、PCにキャッシュデータを保存することができる(プレベータドキュメントより)


 これ以外にも、Windows 7で搭載されるリムーバブルドライブに対して、ドライブ暗号化のBitLockerが利用できるようになっている。これを使えば、USBメモリをBitLockerで暗号化することで、もしUSBメモリを落としたり、盗まれたりしても、データが暗号化されているため、データが流出することはない。


その他の機能強化

 WS08R2では、Hyper-V 2.0以外にも、さまざまな機能が拡張・強化されている。まず、ターミナルサービスで利用されるRDP(Remote Desktop Protocol)が、機能強化されRDP 7.0にアップしている。RDP 7.0では、本格的にDirectX 10.1をサポートすることで、ターミナルサービス使用時にクライアントPCでAero UI(透明なウィンドウ表示)が利用できるようになる。さらに、データの圧縮率をアップしたりして、ビデオを転送のやり方を変更して、ビデオ再生時の負荷を今までより一けた小さくしている。

 また、RDP 7.0でDirectX 10.1をサポートすることで、クライアント側のGPUの機能を利用した画面転送が行えるようになる。これにより、サーバー側のCPU負荷は小さくても、クライアント側では高速に画面を表示したり、ビデオ再生や今まで負荷の高かったAero UIが利用できるようになる。


WS08R2では、RDPがバージョン7にアップされている。これにより、ターミナルサービスでAero UIや動画の効率的な転送などが可能になる(PDC 2008のプレゼンテーションより) RDP 7.0では、DirectX 10.1を利用して、サーバー側とクライアント側でレンダリングを行う。これにより、サーバー側の負荷を小さくしている(PDC 2008のプレゼンテーションより) RDP 7.0のアーキテクチャ図(PDC 2008のプレゼンテーションより)

RDP 7.0では、サーバーとクライアントでのレンダリングは、このように分かれる(PDC 2008のプレゼンテーションより) RDP 7.0では、画面転送のパフォーマンスも大幅にアップしている(PDC 2008のプレゼンテーションより) RDP 7.0では、Officeをターミナルサービスで利用してもパフォーマンスがアップする(PDC 2008のプレゼンテーションより)

 また、IT管理者にとって待ちかねていたのが、コマンドラインのスクリプト言語PowerShell 2.0の搭載だ。PowerShell 2.0では、グラフィカルなインターフェイス画面になっているため、多くのIT管理者にとって使いやすくだろう。


WS08R2では、IIS 7.0にもさまざまな機能が追加している(PDC 2008のプレゼンテーションより)
 WebサーバーのIIS 7.0もWS08R2では、機能アップしている。例えば、Server CoreでのASP.NETのサポートだ。これにより、Server Core上でもIIS 7.0のフル機能が利用できるようになる。Server CoreでASP.NETがサポートされるということは、Server Core上で.NET Frameworkが動作することになる。これにより、PowerShellもServer Core上で動作するようになる(Windows Server 2008でも、ユーザーが手動でインストールを行えば、Server Core上で動作した。WS08R2では正式にServer Core上で.NET Frameworkがサポートされることになる)。

 IISの機能強化としては、リモートからIISを管理する「IIS 7.0 Administration Pack」の提供、FTPの機能アップ、クライアントPCからアクセスした接続を維持したままWebサーバーの負荷分散を行う「IP Stickiness」などが用意されている。

 このほか、DHCPサーバーのフェールオーバー機能、DNSに対するアタックを拒否できるようにDNSのセキュリティも高めている。


WS08R2では、Server Core上で.NET Frameworkが正式にサポートされる(PDC 2008のプレゼンテーションより) .NET FrameworkのサポートによりServer Coreで動く機能がこれだけ増える(PDC 2008のプレゼンテーションより) .NET FrameworkがServer Coreでサポートされることで、IIS 7上でAPS.NETが動作するようになる(PDC 2008のプレゼンテーションより)

IP Stickinessでは、サーバーとクライアントのセッションを途切れさせずに、サーバーの切り替えができる(プレベータドキュメントより)

WS08R2でサポートされたDHCPフェールオーバー機能(プレベータドキュメントより)

PowerShell 2.0では、このようなGUIでコマンドが入力できるようになっている(プレベータドキュメントより)


Windows Server 2008 R2のリリース時期は?

 WS08R2は、2010年中のリリースが計画されている。また、Windows Server 2008 SP2が2009年中のリリースが計画されている。スケジュール通り進むかどうかは、Windows 7などの開発スケジュールによるだろう。Windows Vistaの時と同じく、クライアントOSのリリース後、サーバーOSのリリースとなるため、Windows 7のリリースがきちんとされないと、WS08R2もリリースできないことになる。このことから、Windows 7は2009年にはリリースされるのではないかと予測する。

 どういったスケジュールになるにしても、WS08R2は、Windows Server 2008と高い互換性を持っているため、企業がWindows Server 2008からWS08R2へ移行するのも容易だろう。もし、Windows Server 2008を運用しているなら、WS08R2はメモリ管理など機能アップされているため、OSをアップグレードするだけでハードウェアを変えずにパフォーマンスがアップするかもしれない。このあたりは、今後の動向に期待したい。



URL
  Microsoft Professional Developers Conference 2008
  http://www.microsoftpdc.com/


( 山本 雅史 )
2008/11/05 00:01

Enterprise Watch ホームページ
Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.